home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Video
/
World of Video.iso
/
gfxprograms
/
imageprocess
/
fpic
/
fpic.doc
< prev
next >
Wrap
Text File
|
1995-02-13
|
7KB
|
219 lines
Filtpic (fpic) documentation
----------------------------
Fpic is an image processing program, designed specifically to be used in
conjunction with digitized (Digi-View) lo-res black & white IFF picture
files. Since the program was written to utilize Digi-View B&W pictures, some
special processing relating to these images was required.
When a b&w lo-res image is saved by digi-view, it stores the image as a 32
color IFF format file. Since the Amiga is capable of displaying 16 shades
of gray, the digi-view image only utilizes colors 16 thru 31 of the entire 32
color pallete. Fpic depends on this color mapping to work effectively.
Results using images without this color mapping are unpredictable (at best)
but sometimes interesting. Included within this arc file are 2 digitized
images you can experiment with. An excellent tutorial on general image
processing can be found in the March 1987 issue of Byte magazine..
-----------------
Program Operation
-----------------
(Dos 1.2 required)
Simply type 'fpic' from the cli command line. Fpic should work with expanded
memory since all modules have been 'Atomized' (if i remember correctly).
Operation from workbench is as yet, untested.
Menu Selections
---------------
A brief description of the available menuitems follows..
Project
-------
Hide Menustrip
==============
Disables the display of the menustrip so you can view a full screen image.
Does not affect pulldown menuitems.
Show Menustrip
==============
Enables display of menustrip.
Load Picture
============
Allows you to load an IFF picture file via requester.
Save Picture
============
Allows you to save the displayed image in IFF format via requester.
Restore Image
=============
Quick restore of the unmodified image (usually). Actually copies the image
from the hold buffer to the active display.
Image to Hold
=============
Copies the displayed image to the holding buffer. Useful in combining the
cumulative effects of various image filters, as all image processing uses
the hold buffer as its image source.
Load Hold
=========
Allows you to load an IFF file directly into the hold buffer via requester
without altering the displayed image. Useful when merging the displayed
image with another image. (See 'Merge2' under the 'Filters' menu).
Quit!
=====
Goodbye..
---------------------------------------------------------------------------
Filters
-------
Average
=======
Produces new image based on the average pixel intensity of the original
image using a 3x3 Kernel.
Binary
======
Produces a binary (high contrast black & white) image based on a threshold
supplied by the user via requester. Valid threshold values are in the
range 0 thru 15, where 0 represents black and 15 represents white. Any
pixel with a color value below the threshold is changed to black and any
pixel with a value >= threshold is changed to white.
ClipBlit
========
Performs a ClipBlit using the Hold buffer and the displayed image as the
sources. Uses a miniterm supplied by user via requester. Maybe useful in
understanding the operation of the Blitter and/or MiniTerms. See hardware
reference manual (Blitter) and Rom Kernel (ClipBlit function). Try it..
Cross
=====
Produces new image based on Cross operator. The Cross operator is an edge
detection filter.
Sobel
=====
Produces new image based on an approximation of the Sobel operator. This
is another edge detector.
Roberts
=======
New image via Roberts operator. Yet another edge detector..
Pixelize
========
New image produced using an averaging technique, resulting in enlarged
pixels.
Sharpen
=======
Hi-pass filter. Enhances high frequency content of image.
UserMatrix
==========
One of the more interesting options. Allows the user to specify his own
3x3 kernel which is then applied to the image. Somewhat slow due to the
fact that nine multiplications are required per every pixel in the image.
The requester for this option defaults to a low-pass filter.
Merge2
======
Merge the displayed image with the image in the hold buffer.
Uses:
Combine a filtered image with the original to reduce the effects of
the filter.
Use the 'Load Hold' option from the project menu to load a different
image into the holding buffer. This will allow you to combine two
seperate images into one, resulting in a double-exposure effect.
Maximum
=======
Utilizing a 3x3 kernel, produces a new image based on the maximum pixel
value found within the kernel. Sometimes used for texture analysis.
Minimum
=======
Similar to Maximum except minimum pixel value is used.
Median
======
Like Maximum & Minimum except median pixel value is used. Sometimes useful
in reducing random noise within the image.
---------------------------------------------------------------------------
Misc.
-----
Compare
=======
Produces a split screen (kind of) of the displayed image and the image in
the hold buffer. Useful for comparision of original and enhanced images.
Histogram
=========
Produces a 16 column histogram (graph) showing the color utilization of
the original image, where the leftmost column represents black and the
rightmost column represents white.
Remap-Low
=========
Remaps the displayed image to utilize colors 0 thru 15 of the current
colormap. Uses: I wanted to do it..
Remap-Hi
=========
Remaps the displayed image to utilize colors 16 thru 31 of the current
colormap. Uses: I wanted to undo what i did.....
-------------------------------------------------------------------------
End of menu options
-------------------------------------------------------------------------
General Info
------------
Fpic was developed on a 512k amiga using Lattice C (3.03) with 1.2 include
files/libraries/linker from the gamma 1.2 release of the developers' disks.
A special library of assembly language functions was developed to help
increase the speed of the computationally intensive image processing
functions as well some special functions for pixel manipulation of the
bitplane based images.
Most of the image processing filters are based on a 3x3 kernel, which
modifies every pixel of the original image based on the neighboring pixels
within the 3x3 kernel in association with the particular algorithm in use.
Fpic is quite a memory hog. It actually requires 208k for image buffering
alone. I would think you need at least 300k of free memory to be on the
safe side.. It does run on my 512k machine with no problem..
** Special Thanks **
--------------------
To Jim Kent for the pd IFF file reader.
To Matt Dillon for the basis of the IFF file writer.
To C.Heath for the file requester (slightly modified from fred fish disk
#41).
Program status
--------------
Released to the public domain in object format, no strings. I haven't
decided on the status of the source yet.. I don't get a chance to use
compuserve much, so i doubt if i would see any messages pertaining to this
program on the amigaforum. Though I will make an attempt to answer any
e-mail. Hope you enjoy fpic as much as i did writing it...
Bob Bush 73105,1332
10 April 1987
************ end ************